What can Parrot do for Me?

Eric Wilhelm on 2008-11-15T19:33:29

In reply to chromatic's ponderance:

Sometimes I wonder what would happen if we gave Perl 6 the slogan "Yes we can!"...

"Yes we can" only sticks if you provide tools for people to use to motivate more people. If someone tries it and finds that indeed they can make a difference (which they enjoyed making), they will tell others about it.

In my experiences trying to make a difference, I've been bogged-down with historical accident and disorganized information. My threshold is (I think) rather high for absorbing abstract complexity six layers removed from anything which serves my current goal. But once I lose more than a few hours without any feeling of achievement, I have to stop and think whether or not I'll get anything of use from these efforts within the acceptable future. Perhaps I'm lacking in altruism, but I'm going to seek solace in the fact that I'm still alive and selfishly convince me that I have "enough" altruism. Ultimately, you have to somehow provide a sense of satisfaction in the near term to keep people motivated.

So, is "you can make a difference" a convincing and sufficiently motivating message in the context of something which is perhaps just as overwhelming as massive political change (but likely not so universally appreciated), where the consequences of non-participation are not so immediately evident? After all, everyone in the US is subject to the government's policies and the consequences of its knee-jerk reactionary actions, with the only (and difficult) alternative being to defect. Whereas with parrot and Perl 6, the vast majority of programmers have no current investments or residency. Even existing Perl users need not defect to exercise control over their programming environment (unfortunately, many of them do -- but "the CPAN has fallen behind" is another subject.) So, perhaps the rally-cry of "you can make your hell less hellish" which created such unprecedented attention and turnout in our recent political adventure has less power in terms of the short-sighted, time-pressured world of technological change. And, do you really want to pursue the same course as a political campaign, where change is measured in decades? After 8 years in?

But I do think there are lessons to be learned. Particularly, the capital of enthusiasm. The lesson which Obama's campaign showed us is that you have to manage that capital in a way which builds the enthusiasm. Except, that was a relatively easy game compared to parrot. How can I connect with an enthusiastic group in my community and spend some relatively small amount of time to gather more enthusiastic supporters? Having gathered these supporters, what does parrot propose to do with them? Where a meaningful contribution or commitment in a political campaign might be as small as 5 votes or dollars, what constitutes a meaningful contribution to parrot? There are indeed places where dollars can be put to good use handling complex tasks where more developers would hinder the effort. But why invest dollars where you have no current stake toward a quite distant goal? So, how do you use non-monetary resources to build and maintain the enthusiasm to push parrot, and ultimately Perl 6 out the door?

It seems like open source projects have typically relied on "results, today" as a means of gathering user momentum and the ability to have meaningful improvements tomorrow (literally) as a means of converting users into developers. So, what is the compelling case for someone to become a parrot user today? This seems to be missing for me, given my recent experiences with rakudo. But the definition of "user" into which I can be fit is probably limited for this stage of parrot's maturity in that I really need to have suitable performance and compelling usability at a rather high level to get something from being a "user". If there are problems with garbage collection, threads, or anything sufficiently low-level to instill a sense of dread, anyone using one of the many currently available HLL interpreters is not going to be a good candidate for becoming a parrot user today. From what I've seen, becoming a Perl 6 user is also still quite distant, though parrot still seems to be the most direct path to that (but not yet a short one by any means.)

So, assuming that we can find a different definition of "user" than me, what is parrot right now, and what constitutes a possible user base for it? I would have to guess that CS researchers would be the most likely candidates. But this is not my field of study so I'll trust that those with more in-depth knowledge of parrot might be able to make more educated guesses about where to find users. The point is simply that you need to find a sufficient source of people who would be able to say "I used parrot to $thing and it is awesome." I suspect that $thing will not be of immediate interest to many current Perl users, but the number of people and the fields from which they come to parrot will grow as parrot becomes more capable at higher and higher levels.

With this in mind, what does parrot need to do to acquire and maintain user enthusiasm? Then, how do you convert the next group of new users into ambassadors and developers? This would seem to require an astute organizer with a high tolerance for organizational complexity and a large amount of patience. It also implies a trip to academia and some extensive effort to put parrot in front of the right audiences there.

So, while there is probably a lot that I can do for parrot, what can parrot do for me? As far as I can tell, currently: "not much", but I would love for someone to demonstrate otherwise.


I'm a user

ChrisDolan on 2008-11-18T04:03:08

Over the last 3+ weeks I've been obsessively learning/hacking Rakudo to create a PDF parser. The slowdowns for me have been 1) a major Parrot bug in lexicals (that is supposedly nearly fixed), 2) learning Perl6 and 3) minor Rakudo bugs. The latter has been a source of fun, actually, as the bugs are either easy to patch myself or fixed by the Rakudo developers almost instantly.

For me, the killer feature of Perl6 is grammars. The ability to write a maintainable, flexible, performant parser that spits out actual data structures in just a few hundred lines of code is profound.

The November developers

masak on 2008-12-01T15:32:41

We used parrot to build a wiki in Perl 6 and it is awesome.